//
//  @ Project : tp1-algo3
//  @ File Name : Combustible.java
//  @ Date : 04/05/2008
//  @ Author : Claudia, Jorge, Luciana, Luciano
//
package modelo.auto;

import modelo.excepciones.*;


public class Combustible extends Componente {

	private static final long serialVersionUID = 1L;

	/*Constantes*/ 
	public Double DEFAULT_PESO = 150.0; 	// Peso por default de una caja.
	
	/*Atributos*/
	private int litros;
	private int capacidad;

	public Combustible(String descripcion, String tipo, double costo, double peso, double factVel, double factAcel, int litros, int capacidad){
		this.setDescripcion(descripcion);
		this.setTipo(tipo.toUpperCase());
		this.setPrecio(costo);
		this.setPeso(peso);
		this.setFactorVelocidad(factVel);
		this.setFactorAceleracion(factAcel);
		this.litros = litros;
		this.capacidad = capacidad;
		
		double vidaut = (this.litros*100)/this.capacidad;
		this.setVidaUtil(vidaut);
	}
	
	/*Constructor 2/2*/
	public Combustible() {
		super();
	
		this.setDescripcion("Combustible por default");
		this.setTipo("Combustible");
		this.setPrecio(10);
		this.setPeso(DEFAULT_PESO);
		this.litros = 100;
		this.capacidad = 150;
	}

	/**
	 * Devuelve la cantidad de combustible que posee el auto
	*/
	public int getLitros(){
		return this.litros;
	}
	
	/**
	 * Incrementa el combustible del auto en la cantidad de litros pasada por par�metro
	*/
	public void setLitros(int litros) throws FuelOverflowException{
		if ((this.litros + litros) <= this.capacidad){
			this.litros += litros;
		}
		else{
			throw new FuelOverflowException();
		}
		
	}
}
